/*
 * Copyright 2005-2007 Pulse Technologies. Tutti i diritti riservati.
 */

package org.obsidianrad.server.services.obj2db.commodities;

import org.obsidianrad.server.services.ObsModel;

/**
 * 
 * @author eliosh
 * @version $Rev: 4 $
 * @lastautorcommit $Author: eliosh $
 * @lastdatecommit $Date: 2009-10-31 12:37:28 +0100(sab, 31 ott 2009) $
 */
public interface PagingLoadResult<T extends ObsModel>  {


	  /**
	   * Returns the remote data.
	   * 
	   * @return the data
	   */
	  public T[] getData();

	  /**
	   * Set the remote data
	   *  
	   * @param data
	   */
	  public void setData(T[] data);
	  
	  /**
	   * Returns the current offset of the results.
	   * 
	   * @return the offset
	   */
	  public int getOffset();

	  /**
	   * Sets the offset.
	   * 
	   * @param offset the offset
	   */
	  public void setOffset(int offset);

	  /**
	   * Returns the total count. This value will not equal the number of records
	   * being returned when paging is used.
	   * 
	   * @return the total count
	   */
	  public int getTotalLength();

	  /**
	   * Sets the total length.
	   * 
	   * @param totalLength the total length
	   */
	  public void setTotalLength(int totalLength);
}
